import wx from 'weixin-jsapi' // 引入wxJS
import axios from './_axios'

export default function wxShare({
  title,
  imgUrl,
  desc,
  type = '',
  dataUrl = '',
}) {
  const link = window.location.href

  axios.post('wechat/config', { url: link }).then((res) => {
    // console.log(res.data)
    if (res.status == 200) {
      const { appId, timestamp, nonceStr, signature } = res.data.result
      wx.config({
        debug: false,
        appId,
        timestamp, // 必填，生成签名的时间戳
        nonceStr, // 必填，生成签名的随机串
        signature, // 必填，签名
        jsApiList: [
          // 用的方法都要加进来
          'updateAppMessageShareData',
          'updateTimelineShareData',
          'onMenuShareTimeline',
          'onMenuShareAppMessage',
        ],
        openTagList: ['wx-open-launch-weapp'],
      })
      wx.ready(function () {
        //分享到朋友圈
        wx.updateTimelineShareData({
          title, // 分享标题
          link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl, // 分享图标
          success: function () {
            // 设置成功
            this.$Message.message('设置成功!')
          },
        })

        wx.onMenuShareTimeline({
          title, // 分享标题
          link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl, // 分享图标
          success: function () {
            // 用户点击了分享后执行的回调函数
          },
        })
        //分享给朋友
        wx.updateAppMessageShareData({
          title, // 分享标题
          desc, // 分享描述
          link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl, // 分享图标
          success: function () {
            // 设置成功
            this.$Message.message('设置成功!')
          },
        })
        wx.onMenuShareAppMessage({
          title, // 分享标题
          desc, // 分享描述
          link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl, // 分享图标
          type, // 分享类型,music、video或link，不填默认为link
          dataUrl, // 如果type是music或video，则要提供数据链接，默认为空
          success: function () {
            // 用户点击了分享后执行的回调函数
          },
        })
      })
      wx.error(function (res) {
        console.log('验证失败: ', res)
      })
    } else {
      console.log(res.data.message)
    }
  })
}
